﻿using BCDto.OA.Attendance.AttendanceMode;
using BCDto.OA.Attendance.AttendancePlan;
using BCDto.OA.Attendance.AttendanceRemedyRules;
using System.Collections.Generic;

namespace BCDto.OA.Attendance.AttendanceGroup
{
    /// <summary>
    /// 考勤组详情信息视图
    /// </summary>
    public class AttendanceGroupViewDto
    {
        #region 考勤组信息
        /// <summary>
        /// 考勤组信息
        /// </summary>
        public AttendanceGroupDto GroupInfo { get; set; }

        #endregion

        #region 考勤班次信息
        /// <summary>
        /// 班次Ids
        /// </summary>

        public List<long> ClassIds { get; set; } = new List<long>();

        /// <summary>
        /// 考勤班次信息
        /// </summary>
        public List<string> ClassList { get; set; } = new List<string>();

        #endregion

        /// <summary>
        /// 考勤部门信息
        /// </summary>
        public List<AttendanceGroupDepartmentDto> Departments { get; set; } = new List<AttendanceGroupDepartmentDto>();

        #region 公司信息

        #endregion

        #region 人员信息
        /// <summary>
        /// 考勤负责人信息
        /// </summary>
        public List<AttendanceGroupAdminDto> Managers { get; set; } = new List<AttendanceGroupAdminDto>();
        #endregion

        #region 无需人员信息
        /// <summary>
        /// 无需考勤人员信息
        /// </summary>
        public List<AttendanceGroupAdminDto> IgnoreManagers { get; set; } = new List<AttendanceGroupAdminDto>();

        #endregion


        #region 考勤模式信息
        /// <summary>
        /// 考勤模式信息
        /// </summary>
        public AttendanceModeViewDto Modes { get; set; } = new AttendanceModeViewDto();

        #endregion

        #region 补卡规则信息
        /// <summary>
        /// 补卡规则
        /// </summary>
        public AttendanceRemedyRulesDto RemedyRule { get; set; }

        #endregion

        /// <summary>
        /// 考勤固定班次信息
        /// </summary>
        public List<AttendanceGroupFixedViewDto> Settings { get; set; } = new List<AttendanceGroupFixedViewDto>();
        /// <summary>
        /// 考勤轮班班次计划
        /// </summary>
        public List<AttendancePlanViewDto> Plans { get; set; } = new List<AttendancePlanViewDto>();
    }
}
